package practice3;
import java.net.*;
import java.nio.charset.StandardCharsets;

public class UDPserver {
    public static void main(String[] args) throws Exception {
        DatagramSocket server = new DatagramSocket(9999);
        byte[] data = new byte[1024];   // 数组长度足够大（1024字节足够容纳长消息）
        DatagramPacket packet = new DatagramPacket(data, data.length);
        System.out.println("【Server】：等待消息...");
        server.receive(packet);                    // 阻塞等待接收

        // 关键修正：用实际接收的字节数 + 指定编码转换（避免中文截断）
        int actualLength = packet.getLength(); // 获取真实接收的字节数
        String message = new String(data, 0, actualLength, StandardCharsets.UTF_8); // 强制UTF-8编码

        System.out.println("【Server】：接收内容：" + message);
        System.out.println("【Server】：实际接收字节数：" + actualLength); // 打印字节数，方便调试
        server.close();
    }
}